您好,欢迎来到达州工业云! 平台首页 企业驾驶舱 帮助中心 企业登录 企业注册

HI,欢迎使用达州工业云平台!

账号必须大于2位

创新资源平台
服务平台首页>专利库>专利详情

互操作平台的负载控制优化方法

  • 申请号:CN200910237287.9 申请公布号: CN101715003A
  • 申请日: 2009-11-12 申请公布日: 2010-05-26
  • 申请(专利权)人: 专利代理机构: 北京众合诚成知识产权代理有限公司
  • 分类号:H04L29/08

专利介绍

本发明公开了系统负载控制优化技术领域中的一种互操作平台的负载控制优化方法。建立连接池和监听模块;当有新用户访问目标服务器时,获取所有访问目标服务器的用户的信息和数目,并获取目标服务器的指标数据;采用动态加权法将目标服务器的负载量化;判断目标服务器负载是否过重,若否,则为新用户创建线程,允许其访问目标服务器;记录所有用户的访问状态、响应时间;若是,采用变权法将所有用户的优先级量化,并按照优先级进行排序;将优先级最低的用户放入等待队列,并暂停其访问目标服务器;当有用户结束对目标服务器的访问时,优先级最低的用户跳出等待队列并对目标服务器进行访问。本发明克服了现有互操作平台的负载控制方法存在的缺陷。
1.一种互操作平台的负载控制优化方法,其特征在于,所述方法包括下列步骤:步骤1:建立连接池和监听模块;步骤2:当有新用户访问目标服务器时,通过连接池获取所有访问目标服务器的用户的信息和数目,并通过监听模块获取目标服务器的指标数据;步骤3:采用动态加权法将目标服务器的负载量化;步骤4:判断目标服务器负载是否过重,如果是,则执行步骤5;否则,执行步骤8;步骤5:根据连接池获取的所有访问目标服务器的用户信息和数目,采用变权法将所有用户的优先级量化;步骤6:对所有访问目标服务器的用户按照优先级进行排序,将优先级最低的用户放入等待队列中,并暂停所述优先级最低的用户访问目标服务器;步骤7:当有用户结束对目标服务器的访问时,在等待队列中的优先级最低的用户跳出等待队列并对目标服务器进行正常访问,而后返回步骤2;步骤8:目标服务器为新用户创建线程,允许新用户访问目标服务器;同时,目标服务器将此次所有访问目标服务器的用户的访问状态、响应时间记录在目标服务器的数据库中;之后返回步骤2。
2.根据权利要求1所述的一种互操作平台的负载控制优化方法,其特征在于,所述目标服务器为单台服务器或者多台服务器组成的服务器集群。
3.根据权利要求1所述的一种互操作平台的负载控制优化方法,其特征在于,所述所有访问目标服务器的用户的信息从目标服务器的本地数据库获取,包括每个用户最近k次访问的响应时间、最近k次访问的状态信息;其中,k为设定值,所述状态信息包括访问成功和访问失败。
4.根据权利要求1所述的一种互操作平台的负载控制优化方法,其特征在于,所述目标服务器的指标数据,包括目标服务器的CPU使用率、内存利用率、网速、当前执行任务数目。
5.根据权利要求1所述的一种互操作平台的负载控制优化方法,其特征在于,所述采用动态加权法将目标服务器的负载量化具体是,根据公式:ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="533"/>计算目标服务器的负载;其中,Load为目标服务器的负载量化值,C为目标服务器的CPU使用率,M为内存利用率、N为网速、K为当前执行任务数目;Wc、WM、WN、WK分别为CPU利用率、内存利用率、网速和当前执行任务数目的权重,且WC+WM+WN+WK=1;I是目标服务器理论上的最大服务数量,R是最大内存利用率。
6.根据权利要求1所述的一种互操作平台的负载控制优化方法,其特征在于,所述判断目标服务器负载是否过重具体是,比较目标服务器的负载量化值与设定的阈值之间的大小,当目标服务器的负载量化值大于等于设定的阈值时,则目标服务器的负载过重;当目标服务器的负载量化值小于设定的阈值时,则目标服务器的负载不过重。
7.根据权利要求1所述的一种互操作平台的负载控制优化方法,其特征在于,所述采用变权法将用户的优先级量化具体是,计算用户平均访问时间T和用户平均访问成功率P,依据公式C=C1*T/300+C2*P,获得用户的优先级;其中,C1、C2分别是平均查询时间和查询成功率的权重,且C1+C2=1。技术领域
本发明属于系统负载控制优化技术领域,尤其涉及一种互操作平台的负载控制优化方法。
背景技术
近年来,我国在ITS(Intelligentxa0Transportxa0System:智能交通系统)技术领域开展了大量的技术应用研究。随着“中国ITS体系框架”、“中国铁路智能运输系统(RITS)体系框架”、“中国智能交通系统发展战略”以及其他一大批ITS项目的实施,对互操作平台方面研究也越来越深入。而在此过程中,必然涉及互操作平台负载控制的问题。现有的互操作平台负载控制方法有很多中,比如:轮询法、最小连接法、主从节点法等等,但这些负载控制方法具有以下不足:1.轮询法要求每台服务器的处理能力一样,这在实际中是很难做到。2.最小连接法没有考虑服务器性能及客户请求强度,因此在使用重型服务器作为分布结点服务时,均衡负载的效果就要打个折扣。3.主从节点法最大的问题就是一个节点的崩溃往往会导致整个系统的崩溃。基于上述原因,提供一种互操作平台的负载控制优化方法,用以提高互操作平台内部资源利用率,确保优先级较高的用户能够及时访问服务器并获取资源,成为互操作平台发展过程中亟待解决的问题。
发明内容
本发明的目的在于,提供一种互操作平台的负载控制优化方法,克服现有互操作平台的负载控制方法存在的问题。一种互操作平台的负载控制优化方法,其特征在于,所述方法包括下列步骤:步骤1:建立连接池和监听模块;步骤2:当有新用户访问目标服务器时,通过连接池获取所有访问目标服务器的用户的信息和数目,并通过监听模块获取目标服务器的指标数据;步骤3:采用动态加权法将目标服务器的负载量化;步骤4:判断目标服务器负载是否过重,如果是,则执行步骤5;否则,执行步骤8;步骤5:根据连接池获取的所有访问目标服务器的用户信息和数目,采用变权法将所有用户的优先级量化;步骤6:对所有访问目标服务器的用户按照优先级进行排序,将优先级最低的用户放入等待队列中,并暂停所述优先级最低的用户访问目标服务器;步骤7:当有用户结束对目标服务器的访问时,在等待队列中的优先级最低的用户跳出等待队列并对目标服务器进行正常访问,而后返回步骤2;步骤8:目标服务器为新用户创建线程,允许新用户访问目标服务器;同时,目标服务器将此次所有访问目标服务器的用户的访问状态、响应时间记录在目标服务器的数据库中;之后返回步骤2。所述目标服务器为单台服务器或者多台服务器组成的服务器集群。所述所有访问目标服务器的用户的信息从目标服务器的本地数据库获取,包括每个用户最近k次访问目标服务器的响应时间、最近k次访问目标服务器的状态信息;其中,k为设定值,所述状态信息包括访问成功和访问失败。所述目标服务器的指标数据,包括目标服务器的CPU使用率、内存利用率、网速、当前执行任务数目。所述采用动态加权法将目标服务器的负载量化具体是,根据公式:ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="533"/>计算目标服务器的负载;其中,Load为目标服务器的负载量化值,C为目标服务器的CPU使用率,M为内存利用率、N为网速、K为当前执行任务数目;Wc、WM、WN、WK分别为CPU利用率、内存利用率、网速和当前执行任务数目的权重,且WC+WM+WN+WK=1;I是目标服务器理论上的最大服务数量,R是最大内存利用率。所述判断目标服务器负载是否过重具体是,比较目标服务器的负载量化值与设定的阈值之间的大小,当目标服务器的负载量化值大于等于设定的阈值时,则目标服务器的负载过重;当目标服务器的负载量化值小于设定的阈值时,则目标服务器的负载不过重。所述采用变权法将用户的优先级量化具体是,计算用户平均访问时间T和平均访问成功率P,依据公式C=C1*T/300+C2*P,获得用户的优先级;其中,C1、C2分别是平均查询时间和查询成功率的权重,且C1+C2=1。本发明克服了现有互操作平台的负载控制方法存在的问题,提高了互操作平台内部资源利用率,确保了优先级较高的用户能够及时访问服务器并获取资源。
附图说明
图1是本发明提供的互操作平台的负载控制优化方法的流程图;图2是本发明实施例1提供的互操作平台的负载控制优化方法的流程图;图3是本发明实施例2提供的互操作平台的负载控制优化方法的流程图。
具体实施方式
下面结合附图,对优选实施例作详细说明。应该强调的是,下述说明仅仅是示例性的,而不是为了限制本发明的范围及其应用。图1是本发明提供的互操作平台的负载控制优化方法的流程图。图1中,本发明提供的一种互操作平台的负载控制优化方法包括下列步骤:步骤101:建立连接池和监听模块。连接池用于获取访问目标服务器的用户信息和用户数目,监听模块用于获取目标服务器的指标数据。因为互操作平台往往选用处理能力比较强的服务器或者服务器集群作为硬件,所以在本发明中,目标服务器为单台服务器或者多台服务器组成的服务器集群。步骤102:当有新的用户访问目标服务器时,通过连接池获取所有防问目标服务器的用户的信息和用户的数目,并通过监听模块获取目标服务器的指标数据。所有访问目标服务器的用户的信息从目标服务器的本地数据库获取,这些信息包括每一个用户最近k次访问目标服务器的响应时间、最近k次访问目标服务器的状态信息;其中,k为设定值,所述状态信息包括访问成功和访问失败。目标服务器的指标数据,包括目标服务器的CPU使用率、内存利用率、网速、当前执行任务数目。步骤103:采用动态加权法将目标服务器的负载量化。采用动态加权法将目标服务器的负载量化具体是,根据公式:ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="533"/>计算目标服务器的负载;其中,Load为目标服务器的负载量化值,C为目标服务器的CPU使用率,M为内存利用率、N为网速、K为当前执行任务数目;Wc、WM、WN、WK分别为CPU利用率、内存利用率、网速和当前执行任务数目的权重,且WC+WM+WN+WK=1;I是目标服务器理论上的最大服务数量,R是最大内存利用率。由上式可知,目标服务器的负载量化值Load一般为一个小于1且大于0的实数数值。当内存利用率M等于最大内存利用率R时,目标服务器的负载达到最大,其量化值为1,也达到最大。步骤104:判断目标服务器负载是否过重,如果是,则执行步骤105;否则,执行步骤108。判断目标服务器负载是否过重具体是,比较目标服务器的负载量化值与设定的阈值之间的大小,当目标服务器的负载量化值大于等于设定的阈值时,则目标服务器的负载过重;当目标服务器的负载量化值小于设定的阈值时,则目标服务器的负载不过重。步骤105:根据连接池获取的防问目标服务器的用户信息和用户数目,采用变权法将用户的优先级量化。采用变权法将用户的优先级量化具体是,计算每个用户平均访问时间T和平均访问成功率P,依据公式C=C1*T/300+C2*P,获得每个用户的优先级;其中,C1、C2分别是平均查询时间和查询成功率的权重,且C1+C2=1。步骤106:对所有访问目标服务器的用户按照优先级进行排序,将优先级最低的用户放入等待队列中,并暂停所述优先级最低的用户访问目标服务器。步骤107:当有用户结束对目标服务器的访问时,在等待队列中的优先级最低的用户跳出等待队列并对目标服务器进行正常访问,而后返回步骤102,在有新用户访问服务器时,继续执行负载控制优化过程。步骤108:目标服务器为新用户创建线程,允许新用户访问目标服务器;同时,目标服务器将此次所有访问目标服务器的用户的访问状态、响应时间记录在目标服务器的本地数据库中;之后返回步骤102,在有新的用户访问服务器时,继续执行负载控制优化过程。为了使本发明的实施过程更加清楚,下面结合实际的例子进行说明。实施例1图2是本发明实施例1提供的互操作平台的负载控制优化方法的流程图。如图2所示,在此实施例中,根据目标服务器的类型,分别确定其CPU利用率、内存利用率、网速和当前执行任务数目的权重,且保证WC+WM+WN+WK=1。在本实施例中,WC=0.3、WM=0.3、WN=0.2、WK=0.2;设定的阈值为0.6,用于判断负载是否过重。目标服务器理论上的最大服务数量I=200,并已有99个用户连接目标服务器,设定k=30。步骤201:建立连接池和监听模块。在此时,访问目标服务器的用户为99个。步骤202:当有新用户访问目标服务器时,即第100个用户访问目标服务器时,需要重新计算所有访问目标服务器的用户信息、用户数目和目标服务器的指标数据。通过连接池获取所有访问目标服务器的用户信息和用户数目,并通过监听模块获取目标服务器的指标数据。连接池从目标服务器的本地数据库中,获取访问目标服务器的100个用户的信息,包括每个用户最近30次访问目标服务器的响应时间和最近30次访问目标服务器的状态信息;用户数目为100。监听模块获取的目标服务器的指标数据分别为:目标服务器的CPU使用率C=50%,内存利用率M=50%、网速N=10Mbps、当前执行任务数目K=100。步骤203:采用动态加权法将目标服务器的负载量化。采用动态加权法将目标服务器的负载量化具体是,根据公式:ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="533"/>计算目标服务器的负载。依据上面的各个参数的数值,计算:Load=0.5×0.3+0.5×0.3+(1-0.01)×0.2+100/200×0.2=0.598步骤204:判断目标服务器负载是否过重。此步骤判断过程是,比较上一步目标服务器的负载量化值0.598与设定的阈值0.6之间的大小,因为目标服务器的负载量化值小于设定的阈值,所以目标服务器的负载不过重。步骤205:目标服务器为该新用户(即第100个用户)创建线程,允许该新用户访问目标服务器;同时,目标服务器将此次所有访问目标服务器的用户的访问状态(访问是否成功)、响应时间记录在目标服务器的数据库中。之后返回步骤202,在有新的用户访问服务器时,继续执行负载控制优化过程。实施例2图3是本发明实施例2提供的互操作平台的负载控制优化方法的流程图。实施例2是在实施例1返回步骤202的基础上继续负载控制优化的过程。如图3所示,在此实施例中,目标服务器的类型与实施例1相同,因此其CPU利用率、内存利用率、网速和当前执行任务数目的权重也与实施例1相同。在实施例1中,已有100个用户连接目标服务器,设定k=30。步骤301:当有新用户访问目标服务器时,即第101个用户访问目标服务器时,需要重新计算所有访问目标服务器的用户信息、用户数目和目标服务器的指标数据。通过连接池获取所有访问目标服务器的用户信息和用户数目,并通过监听模块获取目标服务器的指标数据。连接池从目标服务器的本地数据库获取访问目标服务器的101个用户的信息,包括每个用户最近30次访问目标服务器的响应时间和最近30次访问目标服务器的状态信息;用户数目为100。监听模块获取的目标服务器的指标数据分别为:目标服务器的CPU使用率C=51%,内存利用率M=51%、网速N=10Mbps、当前执行任务数目K=101。步骤302:采用动态加权法将目标服务器的负载量化。采用动态加权法将目标服务器的负载量化具体是,根据公式:ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="533"/>计算目标服务器的负载。依据上面的各个参数的数值,计算:Load=0.51×0.3+0.51×0.3+(1-0.01)×0.2+101/200×0.2=0.605步骤303:判断目标服务器负载是否过重。此步骤判断过程是,比较上一步目标服务器的负载量化值0.605与设定的阈值0.6之间的大小,因为目标服务器的负载量化值大于设定的阈值,所以目标服务器的负载过重。步骤304:根据连接池获取的访问目标服务器的用户信息和用户数目,采用变权法将用户的优先级量化。采用变权法将用户的优先级量化具体是,计算用户平均访问时间T和平均访问成功率P,依据公式C=C1*T/300+C2*P,获得用户的优先级;其中,C1、C2分别是平均查询时间和查询成功率的权重,且C1+C2=1。其中,因为k=30,所以用户平均访问时间T通过计算用户最近30次访问目标服务器的响应时间的平均值获得。用户平均访问成功率P通过计算用户最近30次访问目标服务器的访问成功次数与30的比值获得。步骤305:对所有访问目标服务器的用户(本实施例为101个用户)的优先级进行排序,将优先级最低的用户放入等待队列中,并暂停所述优先级最低的用户访问目标服务器。步骤306:当有用户结束对目标服务器的访问时,在等待队列中的优先级最低的用户跳出等待队列并对目标服务器进行正常访问,而后返回步骤301,在有新用户访问服务器时,继续执行负载控制优化过程。以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。